1. Field of the Invention
The present invention relates to a router device and a frame transfer method for interconnecting communication networks such as Ethernets and transferring frames therebetween.
2. Description of the Background Art
The router device is a device used for interconnecting different LANs (Local Area Networks) and transferring datagrams from one LAN to another LAN. Datagram contains communication data to be transferred as well as network layer addresses (such as IP addresses in the case of IP (Internet Protocol)) for its source and final destination, so that the router device determines an output network interface and a transfer target node (a router device or host) for the datagram using that address information.
In the conventional router device, when a datalink layer frame (MAC (Media Access Control) frame) defined in the datalink layer (MAC layer) is received from LAN, the datalink layer processing applied to the received frame, and then this frame is converted into a packet (datagram) suitable for handling in the network layer. Then, according to the final destination network layer address contained in that datagram, an output interface and a network layer address of a next hop node for this datagram are determined, and this datagram is given to the determined output interface. The output interface then forms a datalink layer frame by determining a datalink layer address from the network layer address of the next hop node and outputs this datalink layer frame to LAN.
The router device for transferring communication data (datalink layer frame) by the above described procedure carries out the operation for converting the received datalink layer frame into a network layer packet, determining a node to which this packet is to be transferred next (a next hop router or a destination host) and an output interface according to a routing table provided at the router device by referring to the content of this packet such as its final destination address and source address, converting this packet back into the datalink layer frame, and outputting this datalink layer frame to the next hop mode.
In this operation, a processing load within the router and a processing time required for the transfer of received datalink layer frame are quite large in the case of conventional router device because of the heavy router processing such as the conversion of a received datalink layer frame into a network layer packet, the searching through the routing table, and the convention of a packet into a datalink frame.
In order to reduce the processing load of the above described router processing, there are propositions of a scheme for determining a frame transfer target in the datalink layer level, without referring to information in the network layer level described in the packet. This transfer scheme will be referred to as a cut-through transfer in the following.
One proposition is a scheme for enabling the switching at the datalink layer frame level by attaching a virtual identifier assigned in correspondence to a final destination information or a source information, to an intermediate header information described in the datalink layer frame (such as LLC (Logical Link Control) header in the case of LAN, for example) (see Y. Rekhter et al., xe2x80x9cTag Switching Architecturexe2x80x94Overviewxe2x80x9d, Internet Draft draft-rekhter-tagswitch-arch-00.txt, January 1997).
In this scheme, upon receiving a frame, the router device determines whether this frame should be transferred by applying the ordinary network layer datagram processing or the cut-through transfer for maintaining a form of the datalink layer frame should be carried out for this frame, by inspecting the LLC header. When the cut-through transfer should be carried out, the datalink layer switching transfer according to a virtual identifier added to an intermediate header information is carried out.
However, in this scheme, a new information of several octets length is to be added to the header information so that a length of a portion within a frame into which the upper layer datagram can be entered becomes shorter. This implies that the maximum packet length that can be used at a time of the datalink layer frame switching becomes different from the maximum packet length that can be used at a time of the ordinary datagram transfer. As a consequence, when a datagram is transmitted from a source host which is not supporting this scheme, there is a need for the first router to re-adjust the packet length. In addition, even at a node that supports this scheme, there is a need to carry out the network layer processing such as that for changing a packet length at a time of switching from the ordinary transfer to the datalink layer switching transfer.
Another proposition is a scheme for attaching a virtual identifier necessary for the datalink layer switching by using a local address field defined in the datalink layer address that is to be used by LAN (see Japanese Patent Application No. 8-264011 (1996)).
In this scheme, a dedicated virtual identifier is assigned to each packet flow to be transferred by the cut-through transfer, and this virtual identifier is entered into a destination MAC address field or a source MAC address field of a frame. Then, upon receiving a frame for which either MAC address is local, the router device carries out the datalink layer switching transfer according to the virtual identifier described in that MAC address field.
In the case where the virtual identifier is to be described in the destination MAC address field, there is a need for each receiving node (router or host) to store a new MAC address in order to make it possible to receive that local destination MAC address. Consequently, when it is desired to carry out the datalink layer switching with respect to many packet flows separately, there is a need for each node to store many virtual identifies as MAC addresses to be received.
In addition, in this case, when an Ethernet switch exists between nodes as in the case of Ethernet, it is also necessary to store many MAC addresses within an Ethernet switch so that the Ethernet switch can relay a frame with a local destination MAC address to an appropriate node.
On the other hand, in the case where the virtual identifier is to be described in the source MAC address field, a bridge device having a learning function that constitutes LAN will learn many source MAC addresses that would have been unnecessary otherwise, so that a MAC address storage region within the bridge device will be consumed extensively.
It is therefore an object of the present invention to provide a router device and a frame transfer method capable of attaching a virtual identifier necessary for the datalink layer switching in such a manner that a transfer efficiency at the router device can be improved by utilizing the switching at the datalink layer frame level, without causing a need for re-adjusting or changing a packet length or a need for storing many MAC addresses at node, bridge, Ethernet switch, etc.
According to one aspect of the present invention there is provided a router device, comprising: a receiving unit for receiving a frame to be transferred by a datalink layer level switching, said frame having a datalink flow identifier for identifying a flow of a packet corresponding to said frame on a datalink layer, the datalink flow identifier being contained in a prescribed region of said frame corresponding to an upper layer protocol identification information region of a frame format for frames to be transferred via a network layer processing; a memory unit for storing a correspondence of the datalink flow identifier and an address information of a next hop node to which frames of packets belonging to said flow are to be transferred next; and a datalink layer level transfer unit for transferring said frame received from a previous hop node belonging to one logical network by the receiving unit to the next hop node belonging to another logical network, by obtaining the address information of the next hop node by referring to the correspondence stored by the memory unit using at least the datalink flow identifier contained in said prescribed region of said frame as a key, and by attaching the address information of the next hop node to said frame, without carrying out the network layer processing.
According to another aspect of the present invention there is provided a method of frame transfer at a router device, comprising the steps of: (a) storing a correspondence of a datalink flow identifier for identifying each flow on a datalink layer and an address information of a next hop node to which frames of packets belonging to each flow are to be transferred next in a memory of the router device; (b) receiving a frame to be transferred by a datalink layer level switching, said frame having the datalink flow identifier for identifying a flow of a packet corresponding to said frame on the datalink layer, the datalink flow identifier being contained in a prescribed region of said frame corresponding to an upper layer protocol identification information region of a frame format for frames to be transferred via a network layer processing; and (c) transferring said frame received from a previous hop node belonging to one logical network by the step (a) to the next hop node belonging to another logical network, by obtaining the address information of the next hop node by referring to the correspondence stored by the memory using at least the datalink flow identifier contained in said prescribed region of said frame as a key, and by attaching the address information of the next hop node to said frame, without carrying out the network layer processing.
Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings.